File storage is traditionally implemented as non-volatile storage media such as magnetic hard-disk drive (HDD) or Flash-based solid-state drive (SSD), and employed as a peripheral device to one or more computing devices. Such technologies provide affordable capacity, but at latency longer in many orders of magnitudes as compared to the latency of volatile memory such as dynamic random-access memory (DRAM).
Newly developed storage media technologies are currently becoming available, which overcome this problem. For example, a Non-Volatile Dual In-line Memory Module (NVDIMM) is a computer random access memory (RAM) that retains data even when electrical power is stopped due to normal system shutdown, an unexpected power loss, system crash or any other reason. Currently the main types of available NVDIMM cards include: NVDIMM-F which is a Flash device that resides on the memory interconnect, typically accessed via a block driver, and has NAND Flash attributes such as high capacity but slow access times; and NVDIMM-N which is a byte-addressable memory-mapped device, typically accessed at memory or near-memory speeds.
NVDIMMs may be used for implementing a file system which may be accessed in the same manner as volatile memory, and can therefore be useful in improving the performance of computer programs.